<H2>What is the Jetty Architecture?</H2>
<IMG SRC="jettyUML.png">
<BR>
<UL>
<LI>The org.mortbay.http.HttpServer class provides the core HTTP server.
<LI>The org.mortbay.jetty.Server class extends HttpServer with XML configuration and servlet support.
<BR><BR>
<LI> A JVM may contain one or more HttpServer instances.
<LI> A HttpServer may contain one or more HttpListener instances.
<LI> A HttpServer may contain one or more HttpContext instances (called HandlerContext in Jetty3).
<LI> A HttpServer may contain zero or more UserRealm instances.
<P>
<LI> SocketListener is the basic implementation of HttpListener that accepts HTTP connections
on a normal socket.
<LI> JsseListener is an extension of SocketListener that accepts HTTPS connections using a 
JSSE SSL implementation.
<LI>HttpListener implementations create HttpConnection instances.
<LI>A HttpConnection instance manages one or more requests received over a connection.
<P>
<LI> A HttpContext has attributes for class path, class loader and resource base, which apply to all the HttpHandlers it contains.
<LI> A HttpContext is registered in the HttpServer at one and only one context pattern (eg.   
  /context/*) and for zero or more virtual hosts.
<LI> A HttpContext contains one or more implementation of HttpHandler, in the order they
are added.
<P>
<LI> ResourceHandler is an implementation of HttpHandler that serves static content from the resource base of the HttpContext.
<LI> ServletHandler is an implementation of HttpHandler that serves Servlets by mapping
  a pathspec within the context (eg *.xxx, / or /XX/* ) to a Servlet instance. Dynamic servlets include the class name in the URL, configured servlets have explicit path to class mappings.
<BR><BR>
<LI> A WebApplication is a specialization of HttpContext that uses a web.xml file to 
  configure the context, including a ResourceHandler and a ServletHandler.
</UL>


<P>

<A HREF="index.html" TITLE="Back to JettyFAQ"><IMG SRC="/jetty/images/info_sm.gif" BORDER="0"><BR
CLEAR="bottom"> JettyFaq</A>
<BR><BR>
